Skip to content

bhchou/security_advisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Security Advisor(CVE 風險評估工具)

一個簡單的 CLI 工具,用來查詢 CVE 漏洞資訊,並整理成結構化的風險評估報告。

資料來源主要來自公開 API,LLM 僅負責整理與說明。


功能

  • 查詢 CVE 基本資訊(NVD)

    • CVSS 分數
    • 影響產品與版本
  • 查詢實際利用情況

    • EPSS(被利用機率)
    • CISA KEV(是否已被實際攻擊)
  • 產生結構化風險評估(繁體中文)

  • 支援 Markdown 報告輸出

  • 內建 cache,避免重複查詢

  • 支援簡單 agent 流程(plan → execute → report)


執行方式

基本查詢

python security_advisor.py CVE-2021-44228

多筆查詢

python security_advisor.py CVE-2021-44228 CVE-2024-3094

快速模式(不使用 LLM)

python security_advisor.py CVE-2021-44228 --quick

輸出簡單表格:

CVE ID              CVSS  SEV        EPSS   KEV   Priority
----------------------------------------------------------------------
CVE-2021-44228     10.0  CRITICAL   0.97   YES   P0

Agent 模式(建議)

python security_advisor.py CVE-2021-44228 --agentic

流程:

Plan → Tool Execution → Report

當部分資料來源失敗時,仍會保留已取得資訊並產出報告,同時標示缺漏項目。


輸出 Markdown 報告

python security_advisor.py CVE-2021-44228 --save

指定執行引擎

# 使用 Gemini
python security_advisor.py CVE-2021-44228 --engine gemini

# 使用 OpenAI
python security_advisor.py CVE-2021-44228 --engine openai

# 自動 fallback(預設)
python security_advisor.py CVE-2021-44228 --engine auto

環境設定

Python 環境

python -m venv venv
source venv/bin/activate
pip install -r requirement.txt

(requirement.txt 內可自行調整版本)


API Key

OpenAI

export OPENAI_API_KEY=your_api_key

Gemini

export GEMINI_API_KEY=your_api_key

API Key 可於以下取得:

免費方案通常會有使用次數或 Token 限制。

未設定時仍可使用 quick mode。


Cache

預設位置:

~/.cache/security_advisor

TTL:

  • NVD:1 小時
  • EPSS:1 天
  • CISA KEV:1 天

清除 cache:

python security_advisor.py CVE-2021-44228 --clear-cache

設計說明

  • 所有漏洞資料皆來自公開來源(NVD / EPSS / KEV)

  • LLM 僅用於整理與產生報告,不作為資料來源

  • 採用 tool-based 設計,避免 LLM 幻覺

  • 在 agent 模式下,流程為:

    • Plan:決定需要查詢的資訊
    • Execute:呼叫本地 tool 取得資料
    • Report:根據結果產生報告
  • 若部分資料來源失敗,系統仍會繼續產出報告,並標示缺漏資訊


限制

  • NVD 資料有時更新較慢
  • 新漏洞可能缺少完整 CVSS / CPE 資訊
  • LLM 輸出結果可能略有差異
  • 部分 API 可能發生 timeout 或 rate limit

備註

  • 此工具主要用於個人使用與測試,不保證結果完整或正確
  • 僅於 Linux / macOS Terminal 測試,Windows 可透過 WSL2 執行
  • MIT License

About

CVE risk evaluation tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages